VPGTrans: 用10%的成本定制一个你自己的GPT-4多模态对话模型
一句话介绍:最近的多模态(对话)大模型将基于文本的 ChatGPT 的强大能力扩展到了多模态输入,实现强大的多模态语义理解,比如最近的 GPT-4、BLIP-2、Flamingo 等。但咱们普通玩家训练一个多模态 GPT 代价非常昂贵。本工作提出一个 VPGTrans 框架,帮助小伙伴们实现极低成本训练一个高性能多模态大模型。
论文作者:
作者单位:
多模态对话模型Demo:
论文链接:
代码链接:
1. 极低训练成本:通过我们提出的 VPGTrans 方法,可以快速(少于 10% 训练时间)将已有的多模态对话模型的视觉模块迁移到新的语言模型,且达到类似或更优效果。比如,相比于从头训练视觉模块,我们可以将 BLIP-2 FlanT5-XXL 的训练开销从 19000+ 人民币缩减到不到 1000 元:
2. 多模态大模型定制:通过我们的 VPGTrans 框架可以根据需求为各种新的大语言模型灵活添加视觉模块。比如我们在 LLaMA-7B 和 Vicuna-7B 基础上制作了 VL-LLaMA 和 VL-Vicuna。
3. 开源多模态对话模型:我们开源了 VL-Vicuna,类 GPT4 多模态对话模型,可实现高质量的多模态对话:
▲ 图2:VL-Vicuna的交互实例
1.1 背景
2023 年是 AI 元年,以 ChatGPT 为代表的大语言模型(LLM)大火。LLM 除了在自然语言领域显示出巨大的潜力之外,也开始逐渐辐射到其他相关领域。比如,LLM 在多模态理解领域掀起了一股从传统预训练视觉语言模型(VLM)到基于大语言模型的视觉语言模型(VL-LLM)的变革。通过为 LLM 接入视觉模块,VL-LLM 可以继承已有 LLM 的知识,零样本泛化能力,推理能力和规划能力等。相关模型有 BLIP-2 [1], Flamingo [2], PALM-E 等。
▲ 图3:常用的VL-LLM架构
现有的常用的 VL-LLM 基本采取图 3 所示的架构:在一个基座 LLM 基础上训练一个视觉 soft prompt 生成模块(Visual Prompt Generator, VPG),以及一个进行维度变换的线性层(Projector)。在参数规模上,LLM 一般占主要部分(比如 11B),VPG 占次要部分(比如 1.2B),Projector 最小(4M)。在训练过程中,LLM 参数一般不会被更新,或者仅仅更新非常少量的参数。可训练参数主要来自于 VPG 和 projector。
1.2 动机
实际上,即便基座 LLM 的参数冻结不训,但由于 LLM 的大参数量,训练一个 VL-LLM 的关键开销依然在于加载基座LLM。因此训练一个 VL-LLM 依然无法避免极大的计算代价。比如,要得到 BLIP-2(基座 LLM 为 FlanT5-XXL)需要付出超过 600 个小时的 A100 训练时长。如果租用亚马逊的 A100-40G 机器,大概需要将近 2 万元人民币的费用。既然从零训练一个 VPG 代价如此昂贵,那么我们开始思考能否把一个已有的 VPG 迁移到新的 LLM 上来节省开销。
▲ 图4:VPG迁移: 跨LLM大小迁移和跨LLM类型迁移
如图4所示,我们主要探索了两种类型的 VPG 的迁移:
(1)跨 LLM 大小迁移(TaS):比如从 OPT-2.7B 到 OPT-6.7B。
(2)跨 LLM 类型迁移(TaT):比如从 OPT 到 FlanT5
其中 TaS 的意义在于:在 LLM 相关科研中,我们通常需要在小 LLM 上调参,再扩展到大 LLM。有了 TaS,我们可以在调参之后,把小 LLM上已经训好的 VPG 直接迁移到大 LLM 上。TaT 的意义在于:不同功能种类的 LLM 层出不穷,比如今天有了 LLaMA,明天又有了 Alpaca 和 Vicuna。TaT 可以让我们利用已有的 VPG 快速为新语言模型添加视觉感知能力。
1.3 贡献
(1)提出高效的方法:我们首先通过一系列的探究实验,探究了影响 VPG 迁移效率的关键因素。根据探索实验发现,我们提出了一个两阶段的高效迁移框架VPGTrans。该框架可以大幅度缩减训练 VL-LLM 所需的计算开销和需要的训练数据。比如,相比于从头训练,我们通过 BLIP-2 OPT-2.7B 到 6.7B 的 VPG 迁移,可以仅用大约 10% 的数据和计算时间就达成各个数据集相似或更好的效果(图1)。训练花销从 17901 人民币到 1673 元。
(2)得到有趣的发现:我们同时提供了 TaS 和 TaT 场景下一些有趣的发现,并尝试给出解释:a)TaS 场景下,使用 VPGTrans 从小到大迁移不会影响最终模型效果。b)TaS 场景下,越小的语言模型上训练的 VPG,迁移到大模型时效率越高,最终效果越好。c)TaT 场景下,越小的模型之间迁移的 gap 越大。在我们验证实验中,OPT350M 和 FlanT5-base 使用 VPGTrans 互相迁移几乎和从头训练一样慢。
(3)实现社区回馈:我们使用 VPGTrans 得到了两个新的 VL-LLMs:VL-LLaMA 和 VL-Vicuna,并开源在了社区上。其中 VL-Vicuna 实现了类 GPT4 的高质量的多模态对话。欢迎小伙伴尝试:
首先我们进行一系列的探索验证实验,分析如何最大化对于 VPG 的迁移效率。接着我们基于这些重要观察提出一个解决方案。
2.1 探究实验
我们选取 BLIP-2 架构作为我们的基础模型,预训练语料采用 COCO 和 SBU,总共 1.4M 图文对。下游任务采用 COCO Caption, NoCaps, VQAv2, GQA 和 OK-VQA 的 zero-shot 设定进行评测(对 caption 任务并非严格 zero-shot)。下面是我们的关键发现:
(1)直接继承一个训练好的 VPG 可以加速收敛,但效果有限:我们发现,直接迁移一个 LLM 上训练好的 VPG 到大 LLM 可以加速模型收敛,但加速效果有限,且收敛后模型效果相比于从头训练 VPG 会掉点(图 5 的 VQAv2、GQA 蓝线最高点均低于橘线)。我们猜测,这个掉点是由于随机初始化的 projector 会在训练起始阶段损伤 VPG 中已有的视觉感知能力。
(2)先 warm-up 训练 projector 可以防止掉点,且进一步加速收敛:于是,我们固定住 VPG 和 LLM,先 warm-up 训练 projector 3 个 epoch,再解冻 VPG 进行下一步训练。我们发现,这样不仅仅可以避免掉点情况,还能够进一步加速 VPG 收敛(图6)。但值得强调的是,由于训练的主要开销在 LLM(参数巨多),仅仅训练 projector 的开销不会比同时训练 VPG 和 projector 的开销小太多。所以,我们开始探究加速 projector warm-up 的关键技术。
(4)projector 可以在超大学习率下快速收敛:我们进一步实验发现,projector 由于其参数量较少,可以使用 5 倍的正常学习率进行训练而不崩溃。通过 5 倍学习率的训练,projector warm-up 可以进一步被缩短到 1 个 epoch。
(5)一个附加发现:虽然 projector warm-up 很重要,但仅训练 projector 是不够的。尤其在 caption 任务上面,仅仅训练 projector的效果要比同时训练 VPG 的效果差一截(图 5 绿线在 COCO Caption 和 NoCaps 均远低于蓝线)。这也就意味着,仅仅训练 projector 会导致欠拟合,也就是无法充分对齐到训练数据。
2.2 我们所提出的方法
如图 7 所示,我们的方法共分为两个阶段:
(1)第一阶段:我们首先使用词向量转化器和原有 projector 进行融合作为新 projector 的初始化,然后用 5 倍学习率训练新 projector一个epoch。
(2)第二阶段:直接正常训练 VPG 和 projector。
实验结果
3.1 加速比
如表1所示,我们测试了不同迁移类型下,VPGTrans 在不同数据集上的加速比。VPGTrans 在某指定数据集 A 上的加速比是通过从头训练达到 A 上最佳效果 a 的轮数除以 VPGTrans 在 A 上效果超过 a 的最小训练轮数得到。
比如,从头在 OPT-2.7B 上训练 VPG,在 COCO caption 达到最佳效果需要 10 个 epoch,但从 OPT-125M 迁移 VPG 到 OPT-2.7B,仅需 1 个 epoch 就能达到该最佳效果。则加速比为 10/1=10 倍。我们可以看到,无论是在 TaS 还是在 TaT 场景下,我们的 VPGTrans 都可以实现稳定的加速。
3.2 有趣的发现
我们选取了一个比较有趣的发现进行了说明,其他更多更有意思的发现请参照我们的论文。
TaS 场景下,越小的语言模型上训练的 VPG,迁移起来效率越高,最后模型效果越好。参考表 1,我们可以发现 OPT-1.3B 到 OPT-2.7B 的加速比要远小于 OPT-125M、OPT-350M 到 OPT-2.7b 的加速比。我们尝试提供了一个解释:一般越大的语言模型,由于其文本空间的维度更高,会更容易损害 VPG(VPG一般都是类似于 CLIP 的预训练模型)本身的视觉感知能力。我们通过类似于 linear probing 的方式进行了验证:
3.3 大规模实验
前文实验主要是在小规模场景下验证猜想。为了证明我们的方法的有效性,我们模拟 BLIP-2 的预训练过程进行了大规模实验:
▲ 表2:真实场景下的大规模实验结果
如表 2 所示,我们的 VPGTrans 在大规模场景下依然有效。通过 OPT-2.7B 到 OPT-6.7B 的迁移,我们仅用 10.8% 的数据和不到 10% 的训练时长达到了相似或更优的效果。尤其是,我们的方法在 BLIP-2 以 FlanT5XXL 为基座 LLM 下实现了 4% 的训练成本控制。
我们的 VPGTrans 可以快速为任意新的 LLMs 添加视觉感知模块,从而得到一个全新的高质量 VL-LLM。在本工作,我们额外训练了一个 VL-LLaMA 和一个 VL-Vicuna。其中 VL-LLaMA 的效果如下:
▲ 表3:VL-LLaMA的效果展示
同时,我们的 VL-Vicuna 可以进行类 GPT4 的多模态对话。我们和 MiniGPT-4 进行了简单的比较:
总结
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧